#ifndef GAMESTATES_H
#define GAMESTATES_H

#include "includes.h"

class GameStates{
    GameStates();
    float stepSize,
          jumpHeight,
          jumpDistance,
          gravity,
          restitution,
          viscousDrag,
          friction;
     int hpChangeDelay;
     vector3<int> startPosition;

public:
    static GameStates* getInstance();
    //implicit inline :))))
    float getStepSize(){return stepSize;}
    void setStepSize(float step){stepSize = step;}
    float getJumpHeight(){return jumpHeight;}
    void setJumpHeight(float jump){jumpHeight=jump;}
    float getJumpDistance(){return jumpDistance;}
    void setJumpDistance(float jumpdist){jumpDistance=jumpdist;}
    float getGravity(){return gravity;}
    void setGravity(float g){gravity=g;}
    float getRestitution(){return restitution;}
    void setRestitution(float r){restitution=r;}
    float getViscousDrag(){return viscousDrag;}
    void setViscousDrag(float vd){viscousDrag=vd;}
    float getFriction(){return friction;}
    void setFriction(float f){friction=f;}
    int getHpChangeDelay(){return hpChangeDelay;}
    void setHpChangeDelay(int delay){hpChangeDelay=delay;}
    vector3<int> getStartPosition(){return startPosition;}
    void setStartPosition(vector3<int> pos){startPosition = pos;}
};

#endif // GAMESTATES_H
